Jump To:
Technical Notes provide late breaking information about new Apple technologies and supplementary documentation discussing some of the more complex issues related to programming for the Mac OS.

Document Descriptions
On Off
Display

Sort by
Title
Sort by
Topic
Sorted by
Date
Mac OS X Debugging Magic (HTML)
TN2124: Collection of Mac OS X debugging hints and tips.
Tools 2004-12-02
OpenGL Performance Optimization : The Basics (HTML)
TN2093: This document describes some of the concepts and techniques for optimizing performance in OpenGL applications;
Graphics & Imaging 2004-12-01
Idling Movie Importers (HTML)
TN2111: discusses how to write an idling movie importer component
QuickTime 2004-11-12
Kernel Core Dumps (HTML)
TN2118: Explains how to gather and use remote kernel core dumps.
Darwin, Hardware, Networking, Tools 2004-11-12
Thread-safe programming in QuickTime (HTML)
TN2125: Discusses how to use QuickTime from background threads for applications and component developers.
Carbon, Cocoa, QuickTime 2004-10-08
Identifying Java on Mac OS X (HTML)
TN2110: Discovering installed versions of J2SE, Mac OS X from Java code.
Java 2004-10-05
FireWire for Mac OS 9: An Overview (HTML)
TN2126: Overview of FireWire on Mac OS 9.
Mac OS 9 & Earlier 2004-09-17
CrashReporter (HTML)
TN2123: Describes CrashReporter and how to debug with crash logs.
Tools 2004-09-09
Device input using the HAL Output Audio Unit (HTML)
TN2091: How to get input from an audio device by using the HAL's Output Audio Unit.
Music & Audio 2004-08-23
The System Sound APIs for Mac OS X 10.2, 10.3 and later (HTML)
TN2102: Discusses the System Sound APIs for correctly playing Alerts and User Interface Sound Effects
Music & Audio 2004-07-13
ColorSync on Mac OS X (HTML) (PDF) ()
TN2035: Describes ColorSync, which is fundamentally integrated into Mac OS X.
Graphics & Imaging 2004-06-25
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Carbon, Games, Music & Audio, Performance 2004-06-14
Tagging Handle and Pointer Data References in QuickTime (HTML) (PDF)
TN1195: The use of data reference extensions used by QuickTime to tag handle and pointer data references.
Cocoa, QuickTime 2004-05-26
Native Scripting Additions (HTML) (PDF) ()
TN1164: Talks about how to create AppleScript scripting additions (OSAX) for Mac OS X.
AppleScript, Carbon 2004-04-26
HFS Plus Volume Format (HTML) (PDF) ()
TN1150: Describes the physical layout of an HFS Plus volume.
Carbon, Cocoa 2004-03-05
Scripting Interface Guidelines (HTML)
TN2106: Directions for providing a clean and consistent scripting interface for your application.
AppleScript, Carbon, Cocoa, User Experience 2004-03-01
Handling Audio Unit Events (HTML)
TN2104: This technote explains how to handle AudioUnit Events
Music & Audio 2004-02-16
Working Around Incorrect -needsToDrawRect: Behavior in Custom View Classes (HTML)
TN2107: Describes how to work around a bug in NSView's -needsToDrawRect: method.
Cocoa 2004-02-06
Mac OS X 10.3 Navigation Services Changes (HTML) ()
TN2105: Explains Navigation Services changes in Mac OS X 10.3 Panther
Carbon 2004-01-30
Understanding and Detecting OpenGL Functionality (HTML)
TN2080: Discusses OpenGL API design, and how to access the full power of hardware and software renderers.
Carbon, Cocoa, Graphics & Imaging 2003-12-29
The Enhanced Print Apple Event (HTML)
TN2082: Describes an enhancement to the print Apple event that gives developers more control over scripted printing.
AppleScript, Carbon, Cocoa, Printing 2003-12-09
HIView APIs vs. Control Manager APIs (HTML)
TN2074: Provides some clarification on the similar APIs and similar behaviors found in the HIView and Control Managers.
Carbon 2003-10-29
Authorization for Everyone (HTML)
TN2095: Describes applications of Authorization Services beyond simple privilege requesting.
Carbon, Security 2003-10-23
iTunes Visual Plug-ins for Windows (HTML) (PDF)
TN2098: Creating visual plug-ins for iTunes Windows 4.1 and later.
Apple Applications 2003-10-17
Tuning for G5: A Practical Guide (HTML) ()
TN2086: Explains how to get started tuning your application for the new Macintosh G5 architecture.
Carbon 2003-10-01
Porting Command Line Unix Tools to Mac OS X (HTML) ()
TN2071: A general guide for Unix developers porting software to Mac OS X.
Darwin, Porting 2003-09-03
PowerPC G5 Performance Primer (HTML) ()
TN2087: Offers a high-level overview of how to maximize performance on G5 Macs.
Carbon, Hardware 2003-09-03
Version Territory (HTML) (PDF) ()
TN1132: Clarifies the format of data in the NumVersion structure used in a version ( 'vers') resource.
Carbon 2003-08-25
Driver Tuning on Panther or G5 (HTML) ()
TN2090: Describes potential issues when using drivers in Panther or later, or on a Power Macintosh G5.
Darwin, Hardware 2003-06-24
FireWire: DCL Programs Under Mac OS X (HTML) ()
TN2072: Describes the structure and creation of DCL programs under Mac OS X.
Device Drivers, Hardware 2003-06-21
I/O Kit Power Controller (HTML) ()
TN2076: Describes code to include in a KEXT in order to register for power management events.
Hardware 2003-06-20
Full Screen changes in QuickTime 6.1 and 6.3 (HTML) (PDF) ()
TN2068: Changes made to the QuickTime Full Screen API with the release of QuickTime6.1 and QuickTime6.3
QuickTime 2003-06-19
TWAIN Data Sources for Mac OS X (HTML) ()
TN2088: Describes how to implement a TWAIN Data Source (DS) for Mac OS X
QuickTime 2003-06-19
Power Management for Macintosh; getting started (HTML) ()
TN2075: Outlines available documentation and its location for power management on Mac OS X and OS 9.
Device Drivers, Hardware 2003-05-30
Deconstructing A Keynote Document: Part One - Slides (HTML) (PDF)
TN2073: Provides a Keynote XML file format overview; details the XML, showing slide, text and graphics functionality.
Apple Applications 2003-05-20
Supplying codec-specific options within the Standard Compression Dialog (HTML) ()
TN2081: Discusses the ImageCodec 'DITL' APIs introduced with QuickTime 6.
QuickTime 2003-05-20
Glyph Access Protocol (HTML) ()
TN2079: How to support unencoded glyphs using the TSM, ATSUI and Cocoa.
Carbon, Internationalization 2003-05-06
Migrating to FSRefs & long Unicode names from FSSpecs (HTML) ()
TN2078: Answers and coding techniques to commonly asked questions about adopting FSRefs and long file names.
Carbon 2003-05-06
Guide to Creating Kiosks on Mac OS X (HTML) (PDF) ()
TN2062: Discusses techniques used in creating applications which require kiosk-like functionality on Mac OS X.
Carbon, Cocoa, User Experience 2003-02-24
Ensuring Backwards Binary Compatibility - Weak Linking and Availability Macros on Mac OS X (HTML) (PDF) ()
TN2064: Ensuring that Mach-O applications built using today's Mac OS X runs on previous versions of the OS.
Carbon, Cocoa, Performance, Tools 2003-02-18
Mac OS X QuickDraw Performance (HTML) (PDF) ()
TN2051: Some of the trouble spots in the Mac OS X windowing system and how to avoid them.
Carbon, Graphics & Imaging 2003-02-13
About the Keynote XML File Format (APXL Schema) (HTML) (PDF)
TN2067: Describes the Keynote XML file format schema for developers creating or modifying Keynote presentations programmatically.
Apple Applications 2003-02-12
do shell script in AppleScript (HTML) (PDF) ()
TN2065: Frequently Asked Questions about the AppleScript "do shell script" command.
AppleScript 2003-01-27
Understanding and Debugging Kernel Panics (HTML) (PDF) ()
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
Darwin 2002-11-11
Installable Keyboard Layouts (HTML) (PDF) ()
TN2056: Explains how to define a Unicode keyboard via an XML text file.
Internationalization, User Experience 2002-09-27
Using collection classes safely with multithreaded applications (HTML) (PDF) ()
TN2059: Describes some problems with and workarounds for using mutable collection classes in multithreaded applications.
Carbon, Cocoa 2002-09-10
The Font Panel for Carbon API (HTML) (PDF) ()
TN2058: The API to display and interact with the Font Panel from Carbon applications on Mac OS X.
Carbon, Graphics & Imaging 2002-09-05
Mac OS X 10.2 (HTML) (PDF)
TN2053: Describes software development-related changes provided in system software update Mac OS X 10.2.
Carbon, Cocoa, Performance 2002-09-04
Living in a Dynamic TCP/IP Environment (HTML) (PDF) ()
TN1145: Describes some of the intricacies of dealing with TCP/IP in a dynamic environment, such as Open Transport.
Networking 2002-08-27
ICM Drawing non-scheduled frames with QuickTime 6 (HTML) (PDF) ()
TN2060: Changes to how the Image Compression Manager draws non-scheduled frames in QuickTime 6 on Mac OS X.
QuickTime 2002-08-21
Fill in the size field before calling ICMGetPixelFormatInfo (HTML) (PDF) ()
TN2057: Discusses why you should always fill in the size field of the ICMPixelFormatInfo structure before calling ICMGetPixelFormatInfo.
QuickTime 2002-07-17
Observing Process Lifetimes Without Polling (HTML) (PDF)
TN2050: Shows a variety of methods to determine process lifetimes without polling.
Carbon, Cocoa 2002-07-01
Java Runtime Properties for Mac OS X (HTML) (PDF) ()
Deprecated - TN2031: Runtime properties for use with Java 1.3.1 applications.
Java 2002-06-12
SndPlayDoubleBuffer and Carbon (HTML) (PDF) ()
TN1198: Removal of the SndPlayDoubleBuffer and other APIs from the Carbon API set and Carbon solutions.
Carbon, Games, Music & Audio, Porting, QuickTime 2002-06-12
Tailoring Java Applications for Mac OS X (HTML) (PDF) ()
Deprecated - TN2042: Tips and tricks for an optimal Macintosh experience in a Java application.
Java 2002-05-23
ChooseMovieClock and Video Output Components (HTML) (PDF) ()
TN2052: Discusses the ChooseMovieClock API introduced in QuickTime 6.
QuickTime 2002-05-07
Exclusive File Access in Mac OS X (HTML) (PDF) ()
TN2037: Covers exclusive file access In Mac OS X
Carbon, Cocoa 2002-05-01
'pdat' specification (HTML) (PDF) ()
TN2049: Describes 'pdat' resource printer vendors must include in their drivers to support CarbonLib printing.
Carbon 2002-04-22
Apple Image Capture Camera Module changes for Mac OS X Update 10.1.3 (HTML) (PDF) ()
TN2040: Changes to the Apple Image Capture camera modules for Mac OS X Update 10.1.3.
Apple Applications 2002-04-16
Decompressing DV frames and accessing the pixels (HTML) (PDF) ()
TN2044: Discusses and demonstrates how to decompress DV frames and access the pixels directly.
QuickTime 2002-04-11
AEStream and Friends (HTML) (PDF) ()
TN2046: Describes the AEStream family of routines.
Carbon 2002-03-29
AEBuild*, AEPrint* and Friends (HTML) (PDF) ()
TN2045: Describes the AEBuild* and AEPrint* family of routines.
AppleScript, Carbon 2002-03-21
Mac OS X: v10.1.1 - v10.1.3 (HTML) (PDF)
TN2043: Describes changes provided by system software updates 10.1.1 through 10.1.3.
Carbon, Cocoa, Performance 2002-03-06
The 'plst' Resource (HTML) (PDF) ()
TN2013: Describes the 'plst' resource for Carbon-based applications.
Carbon 2002-02-07
Movie Data Security (HTML) (PDF)
TN2038: Describes techniques you can use to protect data in QuickTime movies.
QuickTime 2001-12-13
Getting Started with GDB (HTML) (PDF) ()
TN2032: Explains common C, C++ and Objective-C debugging tasks using gdb, plus helpful tips and tricks.
Tools 2001-12-07
How to use the ATSUI Low Level APIs to get glyph outlines (HTML) (PDF) ()
TN2033: Covers the ATSUI low-level APIs.
Carbon, Internationalization 2001-11-26
Open Firmware Ethernet Debugging II: Telnet downloading (HTML) (PDF) ()
TN2023: Describes a method of debugging a device's firmware using Ethernet to connect a host machine and target machine.
Device Drivers, Hardware 2001-10-30
GDB for MacsBug Veterans (HTML) (PDF)
TN2030: Translate your experience with MacsBug into a working knowledge of the GNU source-level debugger (GDB).
Carbon, Darwin, Performance, Tools 2001-10-18
Mac OS X v10.1 (HTML) (PDF)
TN2029: Updated list of APIs for Mac OS X 10.1.
Tools 2001-10-15
Threading Architectures (HTML) (PDF) ()
TN2028: Describes the various threading APIs on Mac OS 9 and Mac OS X.
Carbon 2001-08-08
Compatibility between JDirect 2 and JDirect 3 (HTML) (PDF)
Deprecated - TN2002: Changes in JDirect between MRJ 2.2 on MacOS 8/9 and the Java runtime on Mac OS X.
Java 2001-08-03
Mac OS X: versions 10.0.1 through 10.0.4 (HTML) (PDF) ()
TN2025: List of API differences betweem 10.0.1 trough 10.0.4
Tools 2001-07-26
How to write a JDBC Plugin (With Example) (HTML) (PDF) ()
TN2027: Describes the process of writing JDBC Adaptor plugins for WebObjects.
Java, WebObjects 2001-07-11
The Mac OS X Font Manager (HTML) (PDF) ()
TN2024: Information on installing and accessing fonts programatically.
Graphics & Imaging 2001-07-11
Multilingual Text Engine Frequently Asked Questions (HTML) (PDF) ()
TN2026: A list of frequently asked questions for the Multilingual Text Engine (MLTE).
Internationalization 2001-07-11
Fundamentals of Open Firmware, Part III: Understanding PCI Expansion ROM Choices for Mac OS (HTML) (PDF)
TN1044: Recommended contents for PCI expansion ROMs, including a table of standard devices, properties and methods.
Hardware 2001-06-26
iTunes Visual Plug-ins (HTML) (PDF) ()
TN2016: Describes the APIs used by iTunes and its Visual plug-ins to communicate back and forth.
Apple Applications 2001-06-26
The Death of typeFSSpec: moving along to typeFileURL (HTML) (PDF) ()
TN2022: Discusses the typeFileURL format and using it to pass file references between applications in Mac OS X.
Carbon 2001-06-07
Browser Plugins in Mac OS X (HTML) (PDF) ()
TN2020: Describes the format of web browser plugins for Mac OS X.
Apple Applications, Carbon 2001-05-31
Importing animated GIFs (HTML) (PDF) ()
TN2018: Describes how to tell if a GIF file or dataref contains more than one frame.
Graphics & Imaging, QuickTime 2001-04-17
Using Launch Services for discovering document binding and launching applications (HTML) (PDF) ()
TN2017: Interface to starting applications, opening documents either with a specific application, or using the default application.
Carbon 2001-04-17
Locating Application Support Files under Mac OS X (HTML) (PDF) ()
TN2015: Describes different methods for an application to determine its location.
Carbon 2001-03-27
Insights on OpenGL (HTML) (PDF) ()
TN2014: Frequently Asked Questions regarding OpenGL and graphics on the Macintosh.
Graphics & Imaging 2001-03-26
Building QuickTime Components for Mac OS X (HTML) (PDF) ()
TN2012: Discusses the changes necessary to build Carbon CFM and Mach-O QuickTime Components for Mac OS X.
QuickTime 2001-03-08
MP-Safe Routines (HTML) (PDF)
TN2006: Lists all routines callable from MP tasks under Multiprocessing Services 2.0 and higher.
Carbon 2000-12-21
The CGDirectDisplay API (HTML) (PDF) ()
TN2007: Provides a reference for the CGDirectDisplay API on Mac OS X.
Graphics & Imaging 2000-11-08
The CGDirectPalette API (HTML) (PDF) ()
TN2008: Provides a reference for the CGDirectPalette API on Mac OS X
Carbon 2000-11-08
Interrupt-Safe Routines (HTML) (PDF) ()
TN1104: Dicusses Mac OS, "safe " routines to call at interrupt time.
Hardware 2000-11-08
Understanding Open Transport Asset Tracking (HTML) (PDF)
TN1173: Open Transport tracks assets, like memory and providers, which it allocates on your behalf.
Networking 2000-11-03
SimpleCocoaApp: An Overview (HTML) (PDF) ()
TN2005: A high level overview of the steps required to build a simple Cocoa application.
Cocoa 2000-10-25
Applet Signing with MRJ and Javakey (HTML) (PDF) ()
Deprecated - TN1175: Procedures needed to sign jar files, install certificates, and successfully utilize a signed applet.
Java 2000-10-16
Debugging Open Firmware Using Telnet (HTML) (PDF)
TN2004: Addresses debugging device's firmware using Ethernet and telnet protocol to a target machine running Open Firmware.
Device Drivers, Hardware 2000-10-16
Moving Your Code to Mac OS X (HTML) (PDF) ()
TN2003: Talks about considerations for moving older Mac OS 9 applications to Mac OS X.
Carbon 2000-10-05
Running files from a hard drive in Open Firmware (HTML) (PDF)
TN2001: Demonstrates editing, saving, and retrieving Open Firmware commands to a file on a Macintosh hard drive.
Device Drivers, Hardware 2000-09-22
File Manager Performance and Caching (HTML) (PDF)
FL16: Discusses traditional Mac OS file system input/output performance issues and the File Manager's volume cache.
Carbon, Cocoa 2000-09-01
Background-Only Applications (HTML) (PDF) ()
TN1070: Describes issues and implementation strategies for creating Background-Only Applications.
Carbon, Mac OS 9 & Earlier 2000-08-14
The Care And Feeding Of Runtime.exec (HTML) (PDF) ()
Deprecated - TN1168: JDK-1.1.x on Mac OS Classic describes MRJ 2.x's implementation of Runtime.exec.
Java 2000-08-14
CD-ROM Driver Calls (HTML) (PDF)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
Accessibility, Darwin, Device Drivers, Hardware, Mac OS 9 & Earlier 2000-08-14
Checklist for Building Applications and Extensions (HTML) (PDF) ()
TN1126: Summarizes the different items which you need to include to build a good, well-behaved Macintosh product.
Carbon 2000-08-14